home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 23 / AACD 23.iso / AACD / Programming / Wipeout / source / smakefile < prev    next >
Makefile  |  2001-02-06  |  4KB  |  155 lines

  1. #
  2. # $Id: smakefile 1.30 2000/12/18 16:16:37 olsen Exp olsen $
  3. #
  4. # :ts=8
  5. #
  6. # Wipeout -- Traces memory, munges and traces memory trashing
  7. #
  8. # Written by Olaf `Olsen' Barthel <olsen@sourcery.han.de>
  9. # Public Domain
  10. #
  11.  
  12. .c.o:
  13.     sc $(CFLAGS) $<
  14. #    @ctags >tagfiles/$* $<
  15.  
  16. .asm.o:
  17.     asm $(AFLAGS) $<
  18.  
  19. #############################################################################
  20. #
  21. # Program version and revision; must match the data in the bumprev file
  22. # as it's used to check in and freeze a release.
  23. #
  24. #############################################################################
  25.  
  26. VERSION =    1
  27. REVISION =    31
  28.  
  29. SYMBOLIC_NAME =    V$(VERSION)_$(REVISION)
  30.  
  31. ###############################################################################
  32.  
  33. PROJECT_NAME = Wipeout
  34.  
  35. ###############################################################################
  36.  
  37. C_SOURCE =    addresstest.c allocator.c data.c dprintf.c dump.c fillchar.c \
  38.         filter.c installpatches.c main.c mungmem.c monitoring.c \
  39.         nametag.c pools.c privateallocvec.c segtracker.c taskinfo.c \
  40.         timer.c tools.c \
  41.         system_headers.c
  42.  
  43. ASM_SOURCE =    patches.asm rawio.asm
  44.  
  45. HEADERS =    allocator.h data.h global.h installpatches.h pools.h \
  46.         magic.h taskinfo.h wipeoutsemaphore.h \
  47.         protos.h system_headers.h
  48.  
  49. OTHER =        assert.c assert.h smakefile $(PROJECT_NAME).doc
  50.  
  51. FILES =        $(C_SOURCE) $(ASM_SOURCE) $(HEADERS) $(OTHER)
  52.  
  53. ###############################################################################
  54.  
  55. CPU =        any
  56. #CPU =        060 
  57.  
  58. C_UTILITY =    utillib
  59. L_UTILITY =    define __CXM33=__UCXM33 define __CXD33=__UCXD33 \
  60.         define __CXM22=__UCXM22 define __CXD22=__UCXD22
  61.  
  62. ###############################################################################
  63.  
  64. OPTIMIZE =    optimize opttime optschedule optdepth=10 optinlocal
  65. DEBUG =        debug=line
  66.  
  67. CFLAGS =    params=r nostackcheck $(OPTIMIZE) $(DEBUG) $(C_UTILITY) \
  68.         stringmerge data=faronly cpu=$(CPU) gst=system_headers.gst
  69. AFLAGS =    -d
  70. LFLAGS =    smallcode noicons $(L_UTILITY)
  71.  
  72. OBJS =        addresstest.o allocator.o data.o dprintf.o dump.o fillchar.o \
  73.         filter.o installpatches.o main.o mungmem.o monitoring.o \
  74.         nametag.o pools.o privateallocvec.o segtracker.o taskinfo.o \
  75.         timer.o tools.o patches.o rawio.o
  76.  
  77. LIBS =        lib:scnb.lib lib:amiga.lib lib:debug.lib lib:ddebug.lib
  78.  
  79. all:    tagfiles system_headers.gst protos.h $(PROJECT_NAME)_rev.h \
  80.     $(PROJECT_NAME)
  81.  
  82. $(PROJECT_NAME) : $(OBJS) Assert.o
  83.     slink lib:c.o $(OBJS) to $@.debug lib $(LIBS) Assert.o $(LFLAGS) addsym \
  84.         map $@.map,fhx fwidth 32 pwidth 32 swidth 32 width 100
  85.     slink $@.debug to $@ noicons nodebug
  86. #    @type tagfiles/\#? >tags
  87.  
  88. ###############################################################################
  89.  
  90. system_headers.gst: system_headers.h system_headers.c
  91.     gst unload $@
  92.     sc $(CFLAGS) nogst makegst=$@ noobjname system_headers.c
  93.  
  94. protos.h: $(C_SOURCE)
  95.     mkptypes -c >protos.h $(C_SOURCE)
  96.  
  97. $(PROJECT_NAME)_rev.h:
  98.     smake version
  99.  
  100. ###############################################################################
  101.  
  102. tagfiles:
  103.     makedir $@
  104.  
  105. rcs:
  106.     makedir $@
  107.  
  108. ###############################################################################
  109.  
  110. clean:
  111.     -delete $(PROJECT_NAME) $(PROJECT_NAME).debug $(OBJS) \
  112.         tagfiles tags all quiet
  113.  
  114. realclean: clean
  115.     -delete ID
  116.  
  117. version:
  118.     echo >$(PROJECT_NAME)_rev.rev `eval $(REVISION) - 1`
  119.     bumprev $(VERSION) $(PROJECT_NAME)
  120.  
  121. mkid:
  122.     mkid -v \#?.(c|h|a|asm|i)
  123.  
  124. update:
  125.     mkid -v -u
  126.  
  127. ###############################################################################
  128.  
  129. assert.o : assert.c assert.h
  130.  
  131. data.o : data.c data.h
  132.  
  133. main.o : main.c $(PROJECT_NAME)_rev.h
  134.  
  135. ###############################################################################
  136.  
  137. checkin: rcs
  138.     ci -q -M -d -l$(VERSION) -m. -t-. $(FILES)
  139.  
  140. lock: rcs
  141.     rcs -l $(FILES)
  142.  
  143. unlock: rcs
  144.     rcs -u $(FILES)
  145.  
  146. freeze: rcs
  147.     rcs -q -n$(SYMBOLIC_NAME): $(FILES)
  148.  
  149. newversion:
  150.     smake version
  151.     smake checkin
  152.     smake freeze
  153.     ttx wait smakefile
  154.     smake
  155.